#ifndef BYTESTRING_H_
#define BYTESTRING_H_

class ByteString {
public:
	ByteString();
	ByteString(const char* bytes, int length);
	virtual ~ByteString();
	void addSection(const char* bytes, int length);
	void insertSection(char* bytes, int length);
	int findSequence(const char* bytes, int length, int start = 0);
	int length();
	ByteString subString(int start, int end);
	char* toNewArray();
	int fillArray(char* buffer, int bufferSize);
	const char* array();
	void clear();
	void operator=(ByteString);
	char& operator[](int index);
	void operator+=(ByteString);

private:
	char** byte;
	int* byteCount;
	int sectionCount;
};

#endif /* BYTESTRING_H_ */
